/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.stock.entity;

import com.thinkgem.jeesite.common.persistence.ActEntity;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.modules.sys.entity.User;
import java.util.List;
import com.google.common.collect.Lists;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 出库Entity
 * @author 出库
 * @version 2019-12-21
 */
public class OutOrder extends ActEntity<OutOrder> {
	
	private static final long serialVersionUID = 1L;
	private String procInsId;		// 流程id
	private Date cdate;		// 日期
	private String cid;		// 仓库id
	private String batch;		// 批次号
	private String status;		// 0未审核1通过2不通过
	private String xid;		// 客户id
	private String xname;		// 客户名称
	private User user;		// 出库人
	private String destination;		// 目的地
	private String ctel;		// 收件人电话
	private String cname;		// 接收人名称
	private String tel;		// 电话
	private String adress;		// 地址
	private Date beginCdate;		// 开始 日期
	private Date endCdate;		// 结束 日期
	private List<OutOrderDetail> outOrderDetailList = Lists.newArrayList();		// 子表列表
	
	public OutOrder() {
		super();
	}

	public OutOrder(String id){
		super(id);
	}

	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCdate() {
		return cdate;
	}

	public void setCdate(Date cdate) {
		this.cdate = cdate;
	}
	
	@Length(min=0, max=32, message="仓库id长度必须介于 0 和 32 之间")
	public String getCid() {
		return cid;
	}

	public void setCid(String cid) {
		this.cid = cid;
	}
	
	@Length(min=0, max=20, message="批次号长度必须介于 0 和 20 之间")
	public String getBatch() {
		return batch;
	}

	public void setBatch(String batch) {
		this.batch = batch;
	}
	
	@Length(min=0, max=255, message="0未审核1通过2不通过长度必须介于 0 和 255 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=32, message="客户id长度必须介于 0 和 32 之间")
	public String getXid() {
		return xid;
	}

	public void setXid(String xid) {
		this.xid = xid;
	}
	
	@Length(min=0, max=100, message="客户名称长度必须介于 0 和 100 之间")
	public String getXname() {
		return xname;
	}

	public void setXname(String xname) {
		this.xname = xname;
	}
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	@Length(min=0, max=200, message="目的地长度必须介于 0 和 200 之间")
	public String getDestination() {
		return destination;
	}

	public void setDestination(String destination) {
		this.destination = destination;
	}
	
	@Length(min=0, max=100, message="收件人电话长度必须介于 0 和 100 之间")
	public String getCtel() {
		return ctel;
	}

	public void setCtel(String ctel) {
		this.ctel = ctel;
	}
	
	@Length(min=0, max=100, message="接收人名称长度必须介于 0 和 100 之间")
	public String getCname() {
		return cname;
	}

	public void setCname(String cname) {
		this.cname = cname;
	}
	
	@Length(min=0, max=50, message="电话长度必须介于 0 和 50 之间")
	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}
	
	@Length(min=0, max=200, message="地址长度必须介于 0 和 200 之间")
	public String getAdress() {
		return adress;
	}

	public void setAdress(String adress) {
		this.adress = adress;
	}
	
	public Date getBeginCdate() {
		return beginCdate;
	}

	public void setBeginCdate(Date beginCdate) {
		this.beginCdate = beginCdate;
	}
	
	public Date getEndCdate() {
		return endCdate;
	}

	public void setEndCdate(Date endCdate) {
		this.endCdate = endCdate;
	}
		
	public List<OutOrderDetail> getOutOrderDetailList() {
		return outOrderDetailList;
	}

	public void setOutOrderDetailList(List<OutOrderDetail> outOrderDetailList) {
		this.outOrderDetailList = outOrderDetailList;
	}
}